The inventor herein has recognized a need for an improved voltage monitoring system since other systems may inadvertently obtain incorrect voltage values from incorrect voltage channels due to software errors or a malfunctioning microcontroller, and may not be able to detect that incorrect voltage values were obtained.
The voltage monitoring system described herein advantageously utilizes first and second monitoring applications that are simultaneously executed. The first monitoring application communicates with the hardware abstraction layer utilizing encoded channel numbers to reliably obtain a desired voltage value from a first bank of channels of analog-to-digital converter. Further, if a received encoded channel number from the hardware abstraction layer does not match an expected encoded channel number, the first monitoring application transitions a contactor to an open operational state, and further sends the received encoded channel number to the second monitoring application which also transitions the contactor to an open operational state. Thus, the voltage monitoring system can more reliably ensure that system software is not obtaining incorrect voltage values from an analog-to-digital converter. Further, the voltage monitoring system can take redundant safe action, by having the first and second monitoring applications both open the contactor, if an incorrect voltage value is received.